<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>simplify_object_model_3d [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_3dobjectmodel.html">3D Object Model</a> / <a href="toc_3dobjectmodel_transformations.html">变换</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">simplify_object_model_3d</span><span data-if="c" style="display:none;">T_simplify_object_model_3d</span><span data-if="cpp" style="display:none;">SimplifyObjectModel3d</span><span data-if="dotnet" style="display:none;">SimplifyObjectModel3d</span><span data-if="python" style="display:none;">simplify_object_model_3d</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">simplify_object_model_3d</span><span data-if="c" style="display:none;">T_simplify_object_model_3d</span><span data-if="cpp" style="display:none;">SimplifyObjectModel3d</span><span data-if="dotnet" style="display:none;">SimplifyObjectModel3d</span><span data-if="python" style="display:none;">simplify_object_model_3d</span></code> — Simplify a triangulated 3D object model.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>simplify_object_model_3d</b>( :  : <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, <a href="#Method"><i>Method</i></a>, <a href="#Amount"><i>Amount</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : <a href="#SimplifiedObjectModel3D"><i>SimplifiedObjectModel3D</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_simplify_object_model_3d</b>(const Htuple <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const Htuple <a href="#Method"><i>Method</i></a>, const Htuple <a href="#Amount"><i>Amount</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>, Htuple* <a href="#SimplifiedObjectModel3D"><i>SimplifiedObjectModel3D</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>SimplifyObjectModel3d</b>(const HTuple&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HTuple&amp; <a href="#Method"><i>Method</i></a>, const HTuple&amp; <a href="#Amount"><i>Amount</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#SimplifiedObjectModel3D"><i>SimplifiedObjectModel3D</i></a>)</code></p>
<p>
<code>static HObjectModel3DArray <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>SimplifyObjectModel3d</b>(const HObjectModel3DArray&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HString&amp; <a href="#Method"><i>Method</i></a>, const HTuple&amp; <a href="#Amount"><i>Amount</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code><a href="HObjectModel3D.html">HObjectModel3D</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>SimplifyObjectModel3d</b>(const HString&amp; <a href="#Method"><i>Method</i></a>, double <a href="#Amount"><i>Amount</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code><a href="HObjectModel3D.html">HObjectModel3D</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>SimplifyObjectModel3d</b>(const char* <a href="#Method"><i>Method</i></a>, double <a href="#Amount"><i>Amount</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code><a href="HObjectModel3D.html">HObjectModel3D</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>SimplifyObjectModel3d</b>(const wchar_t* <a href="#Method"><i>Method</i></a>, double <a href="#Amount"><i>Amount</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>SimplifyObjectModel3d</b>(<a href="HTuple.html">HTuple</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Method"><i>method</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Amount"><i>amount</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#SimplifiedObjectModel3D"><i>simplifiedObjectModel3D</i></a>)</code></p>
<p>
<code>static <a href="HObjectModel3D.html">HObjectModel3D[]</a> <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>SimplifyObjectModel3d</b>(<a href="HObjectModel3D.html">HObjectModel3D[]</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, string <a href="#Method"><i>method</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Amount"><i>amount</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code><a href="HObjectModel3D.html">HObjectModel3D</a> <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>SimplifyObjectModel3d</b>(string <a href="#Method"><i>method</i></a>, double <a href="#Amount"><i>amount</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>simplify_object_model_3d</b>(<a href="#ObjectModel3D"><i>object_model_3d</i></a>: MaybeSequence[HHandle], <a href="#Method"><i>method</i></a>: str, <a href="#Amount"><i>amount</i></a>: Union[int, float], <a href="#GenParamName"><i>gen_param_name</i></a>: Sequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: Sequence[Union[str, float]]) -&gt; Sequence[HHandle]</code></p>
<p>
<code>def <b>simplify_object_model_3d_s</b>(<a href="#ObjectModel3D"><i>object_model_3d</i></a>: MaybeSequence[HHandle], <a href="#Method"><i>method</i></a>: str, <a href="#Amount"><i>amount</i></a>: Union[int, float], <a href="#GenParamName"><i>gen_param_name</i></a>: Sequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: Sequence[Union[str, float]]) -&gt; HHandle</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">simplify_object_model_3d</span><span data-if="c" style="display:none">simplify_object_model_3d</span><span data-if="cpp" style="display:none">SimplifyObjectModel3d</span><span data-if="com" style="display:none">SimplifyObjectModel3d</span><span data-if="dotnet" style="display:none">SimplifyObjectModel3d</span><span data-if="python" style="display:none">simplify_object_model_3d</span></code> simplifies the triangulated 3D object model
<a href="#ObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></i></a> by removing model points and
returns the result in <a href="#SimplifiedObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">SimplifiedObjectModel3D</span><span data-if="c" style="display:none">SimplifiedObjectModel3D</span><span data-if="cpp" style="display:none">SimplifiedObjectModel3D</span><span data-if="com" style="display:none">SimplifiedObjectModel3D</span><span data-if="dotnet" style="display:none">simplifiedObjectModel3D</span><span data-if="python" style="display:none">simplified_object_model_3d</span></code></i></a>. Note that in
contrast to <a href="sample_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">sample_object_model_3d</span><span data-if="c" style="display:none">sample_object_model_3d</span><span data-if="cpp" style="display:none">SampleObjectModel3d</span><span data-if="com" style="display:none">SampleObjectModel3d</span><span data-if="dotnet" style="display:none">SampleObjectModel3d</span><span data-if="python" style="display:none">sample_object_model_3d</span></code></a> points are removed
such that the original geometry of the object model is represented as good
as possible. Typically, this means that edges are preserved while the
point density within smooth parts is reduced.
This might be helpful, for example, to speed up subsequent operator calls
by using a 3D object model of reduced complexity.
</p>
<p>The triangulation of the input 3D object model is preserved as opposed to
该算子 <a href="sample_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">sample_object_model_3d</span><span data-if="c" style="display:none">sample_object_model_3d</span><span data-if="cpp" style="display:none">SampleObjectModel3d</span><span data-if="com" style="display:none">SampleObjectModel3d</span><span data-if="dotnet" style="display:none">SampleObjectModel3d</span><span data-if="python" style="display:none">sample_object_model_3d</span></code></a>, which samples surfaces to
equidistant unconnected 3D points.
</p>
<p>Currently, 该算子 offers only a single simplification method
(<i><span data-if="hdevelop" style="display:inline">'preserve_point_coordinates'</span><span data-if="c" style="display:none">"preserve_point_coordinates"</span><span data-if="cpp" style="display:none">"preserve_point_coordinates"</span><span data-if="com" style="display:none">"preserve_point_coordinates"</span><span data-if="dotnet" style="display:none">"preserve_point_coordinates"</span><span data-if="python" style="display:none">"preserve_point_coordinates"</span></i>), which can be set in
<a href="#Method"><i><code><span data-if="hdevelop" style="display:inline">Method</span><span data-if="c" style="display:none">Method</span><span data-if="cpp" style="display:none">Method</span><span data-if="com" style="display:none">Method</span><span data-if="dotnet" style="display:none">method</span><span data-if="python" style="display:none">method</span></code></i></a>. This method ensures that the points in the
simplified object model <a href="#SimplifiedObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">SimplifiedObjectModel3D</span><span data-if="c" style="display:none">SimplifiedObjectModel3D</span><span data-if="cpp" style="display:none">SimplifiedObjectModel3D</span><span data-if="com" style="display:none">SimplifiedObjectModel3D</span><span data-if="dotnet" style="display:none">simplifiedObjectModel3D</span><span data-if="python" style="display:none">simplified_object_model_3d</span></code></i></a> have the same
coordinates as the respective points in the input object model
<a href="#ObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></i></a>.
</p>
<p><code><span data-if="hdevelop" style="display:inline">simplify_object_model_3d</span><span data-if="c" style="display:none">simplify_object_model_3d</span><span data-if="cpp" style="display:none">SimplifyObjectModel3d</span><span data-if="com" style="display:none">SimplifyObjectModel3d</span><span data-if="dotnet" style="display:none">SimplifyObjectModel3d</span><span data-if="python" style="display:none">simplify_object_model_3d</span></code> only works for triangulated object models.
Whether an object model contains a triangulation can be queried with
<a href="get_object_model_3d_params.html"><code><span data-if="hdevelop" style="display:inline">get_object_model_3d_params</span><span data-if="c" style="display:none">get_object_model_3d_params</span><span data-if="cpp" style="display:none">GetObjectModel3dParams</span><span data-if="com" style="display:none">GetObjectModel3dParams</span><span data-if="dotnet" style="display:none">GetObjectModel3dParams</span><span data-if="python" style="display:none">get_object_model_3d_params</span></code></a>
(<code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code>=<i><span data-if="hdevelop" style="display:inline">'has_triangles'</span><span data-if="c" style="display:none">"has_triangles"</span><span data-if="cpp" style="display:none">"has_triangles"</span><span data-if="com" style="display:none">"has_triangles"</span><span data-if="dotnet" style="display:none">"has_triangles"</span><span data-if="python" style="display:none">"has_triangles"</span></i>). Object models that
do not contain a triangulation must be triangulated beforehand, e.g., by
using <a href="triangulate_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">triangulate_object_model_3d</span><span data-if="c" style="display:none">triangulate_object_model_3d</span><span data-if="cpp" style="display:none">TriangulateObjectModel3d</span><span data-if="com" style="display:none">TriangulateObjectModel3d</span><span data-if="dotnet" style="display:none">TriangulateObjectModel3d</span><span data-if="python" style="display:none">triangulate_object_model_3d</span></code></a> or <a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a>
(<code><span data-if="hdevelop" style="display:inline">Purpose</span><span data-if="c" style="display:none">Purpose</span><span data-if="cpp" style="display:none">Purpose</span><span data-if="com" style="display:none">Purpose</span><span data-if="dotnet" style="display:none">purpose</span><span data-if="python" style="display:none">purpose</span></code>=<i><span data-if="hdevelop" style="display:inline">'segmentation'</span><span data-if="c" style="display:none">"segmentation"</span><span data-if="cpp" style="display:none">"segmentation"</span><span data-if="com" style="display:none">"segmentation"</span><span data-if="dotnet" style="display:none">"segmentation"</span><span data-if="python" style="display:none">"segmentation"</span></i>).
</p>
<p>The degree of simplification can be set with <a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a>. By default,
<a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a> specifies the percentage of points of the input object
model that should be contained in the output object model. Thus, the
smaller the value of <a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a> in this case is chosen the
stronger the object model will be simplified.
</p>
<p>Alternatively, the meaning of the parameter <a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a> can be
modified. For this, the generic parameter <i><span data-if="hdevelop" style="display:inline">'amount_type'</span><span data-if="c" style="display:none">"amount_type"</span><span data-if="cpp" style="display:none">"amount_type"</span><span data-if="com" style="display:none">"amount_type"</span><span data-if="dotnet" style="display:none">"amount_type"</span><span data-if="python" style="display:none">"amount_type"</span></i> can
be set to one of the following values:
</p>
<dl class="generic">


<dt><b>'percentage_remaining' (default):</b></dt>
<dd>
<p>

<a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a> specifies the percentage of points of the input object
model that should be contained in the output object model.</p>
<p>
<span class="pardesc"><span class="parcat">Value range:
      </span></span> [<i>0.0</i> ... <i>100.0</i>].
</p>
</dd>

<dt><b>'percentage_to_remove':</b></dt>
<dd>
<p>

<a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a> specifies the percentage of points of the input object
model that should be removed.</p>
<p>
<span class="pardesc"><span class="parcat">Value range:
      </span></span> [<i>0.0</i> ... <i>100.0</i>].
</p>
</dd>

<dt><b>'num_points_remaining':</b></dt>
<dd>
<p>

<a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a> specifies the number of points of the input object model
that should be contained in the output object model.</p>
<p>
<span class="pardesc"><span class="parcat">Value range:
      </span></span> [<i>0</i> ... number of points in the input object model].
</p>
</dd>

<dt><b>'num_points_to_remove':</b></dt>
<dd>
<p>

<a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a> specifies the number of points of the input object model
that should be removed.</p>
<p>
<span class="pardesc"><span class="parcat">Value range:
      </span></span> [<i>0</i> ... number of points in the input object model].
</p>
</dd>
</dl>
<p>Sometimes triangular meshes flip during the simplification, i.e., the
direction of their normal vectors changes by 180 degrees. This
especially happens for artificially created CAD models that consist of
planar parts. To avoid this flipping, the generic
parameter <i><span data-if="hdevelop" style="display:inline">'avoid_triangle_flips'</span><span data-if="c" style="display:none">"avoid_triangle_flips"</span><span data-if="cpp" style="display:none">"avoid_triangle_flips"</span><span data-if="com" style="display:none">"avoid_triangle_flips"</span><span data-if="dotnet" style="display:none">"avoid_triangle_flips"</span><span data-if="python" style="display:none">"avoid_triangle_flips"</span></i> can be set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>
(the default is <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>). Note that in this case, the run-time of
<code><span data-if="hdevelop" style="display:inline">simplify_object_model_3d</span><span data-if="c" style="display:none">simplify_object_model_3d</span><span data-if="cpp" style="display:none">SimplifyObjectModel3d</span><span data-if="com" style="display:none">SimplifyObjectModel3d</span><span data-if="dotnet" style="display:none">SimplifyObjectModel3d</span><span data-if="python" style="display:none">simplify_object_model_3d</span></code> will increase.
</p>
<p>Note that multiple calls of <code><span data-if="hdevelop" style="display:inline">simplify_object_model_3d</span><span data-if="c" style="display:none">simplify_object_model_3d</span><span data-if="cpp" style="display:none">SimplifyObjectModel3d</span><span data-if="com" style="display:none">SimplifyObjectModel3d</span><span data-if="dotnet" style="display:none">SimplifyObjectModel3d</span><span data-if="python" style="display:none">simplify_object_model_3d</span></code> with a
lower degree of simplification might result in a different simplified
object model compared to a single call with a higher degree of
simplification. Also note that isolated (i.e., non-triangulated) points
will be removed. This might result in a number of points in
<a href="#SimplifiedObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">SimplifiedObjectModel3D</span><span data-if="c" style="display:none">SimplifiedObjectModel3D</span><span data-if="cpp" style="display:none">SimplifiedObjectModel3D</span><span data-if="com" style="display:none">SimplifiedObjectModel3D</span><span data-if="dotnet" style="display:none">simplifiedObjectModel3D</span><span data-if="python" style="display:none">simplified_object_model_3d</span></code></i></a> that slightly deviates from the degree of
simplification that is specified in <a href="#Amount"><i><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></i></a>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="ObjectModel3D" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></b> (input_control)  </span><span>object_model_3d(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HObjectModel3D.html">HObjectModel3D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[HHandle]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the 3D object model that should be
simplified.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Method" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Method</span><span data-if="c" style="display:none">Method</span><span data-if="cpp" style="display:none">Method</span><span data-if="com" style="display:none">Method</span><span data-if="dotnet" style="display:none">method</span><span data-if="python" style="display:none">method</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Method that should be used for simplification.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'preserve_point_coordinates'</span>
    <span data-if="c" style="display:none">"preserve_point_coordinates"</span>
    <span data-if="cpp" style="display:none">"preserve_point_coordinates"</span>
    <span data-if="com" style="display:none">"preserve_point_coordinates"</span>
    <span data-if="dotnet" style="display:none">"preserve_point_coordinates"</span>
    <span data-if="python" style="display:none">"preserve_point_coordinates"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'preserve_point_coordinates'</span><span data-if="c" style="display:none">"preserve_point_coordinates"</span><span data-if="cpp" style="display:none">"preserve_point_coordinates"</span><span data-if="com" style="display:none">"preserve_point_coordinates"</span><span data-if="dotnet" style="display:none">"preserve_point_coordinates"</span><span data-if="python" style="display:none">"preserve_point_coordinates"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Amount" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Amount</span><span data-if="c" style="display:none">Amount</span><span data-if="cpp" style="display:none">Amount</span><span data-if="com" style="display:none">Amount</span><span data-if="dotnet" style="display:none">amount</span><span data-if="python" style="display:none">amount</span></code></b> (input_control)  </span><span>number <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[int, float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Degree of simplification (default: percentage
of remaining model points).</p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'amount_type'</span><span data-if="c" style="display:none">"amount_type"</span><span data-if="cpp" style="display:none">"amount_type"</span><span data-if="com" style="display:none">"amount_type"</span><span data-if="dotnet" style="display:none">"amount_type"</span><span data-if="python" style="display:none">"amount_type"</span>, <span data-if="hdevelop" style="display:inline">'avoid_triangle_flips'</span><span data-if="c" style="display:none">"avoid_triangle_flips"</span><span data-if="cpp" style="display:none">"avoid_triangle_flips"</span><span data-if="com" style="display:none">"avoid_triangle_flips"</span><span data-if="dotnet" style="display:none">"avoid_triangle_flips"</span><span data-if="python" style="display:none">"avoid_triangle_flips"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[str, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">real)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">double)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">double)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">double)</span></span>
</div>
<p class="pardesc">Values of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'percentage_remaining'</span><span data-if="c" style="display:none">"percentage_remaining"</span><span data-if="cpp" style="display:none">"percentage_remaining"</span><span data-if="com" style="display:none">"percentage_remaining"</span><span data-if="dotnet" style="display:none">"percentage_remaining"</span><span data-if="python" style="display:none">"percentage_remaining"</span>, <span data-if="hdevelop" style="display:inline">'percentage_to_remove'</span><span data-if="c" style="display:none">"percentage_to_remove"</span><span data-if="cpp" style="display:none">"percentage_to_remove"</span><span data-if="com" style="display:none">"percentage_to_remove"</span><span data-if="dotnet" style="display:none">"percentage_to_remove"</span><span data-if="python" style="display:none">"percentage_to_remove"</span>, <span data-if="hdevelop" style="display:inline">'num_points_remaining'</span><span data-if="c" style="display:none">"num_points_remaining"</span><span data-if="cpp" style="display:none">"num_points_remaining"</span><span data-if="com" style="display:none">"num_points_remaining"</span><span data-if="dotnet" style="display:none">"num_points_remaining"</span><span data-if="python" style="display:none">"num_points_remaining"</span>, <span data-if="hdevelop" style="display:inline">'num_points_to_remove'</span><span data-if="c" style="display:none">"num_points_to_remove"</span><span data-if="cpp" style="display:none">"num_points_to_remove"</span><span data-if="com" style="display:none">"num_points_to_remove"</span><span data-if="dotnet" style="display:none">"num_points_to_remove"</span><span data-if="python" style="display:none">"num_points_to_remove"</span>, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span>, <span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="SimplifiedObjectModel3D" class="parname"><b><code><span data-if="hdevelop" style="display:inline">SimplifiedObjectModel3D</span><span data-if="c" style="display:none">SimplifiedObjectModel3D</span><span data-if="cpp" style="display:none">SimplifiedObjectModel3D</span><span data-if="com" style="display:none">SimplifiedObjectModel3D</span><span data-if="dotnet" style="display:none">simplifiedObjectModel3D</span><span data-if="python" style="display:none">simplified_object_model_3d</span></code></b> (output_control)  </span><span>object_model_3d(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HObjectModel3D.html">HObjectModel3D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[HHandle]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the simplified 3D object model.</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
read_object_model_3d ('mvtec_bunny.om3', 'm', [], [], ObjectModel3D, Status)
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], [], [], \
                           [], [], [], Pose)
simplify_object_model_3d (ObjectModel3D, 'preserve_point_coordinates', \
                          5.0, 'amount_type', 'percentage_remaining', \
                          SimplifiedObjectModel3D)
visualize_object_model_3d (WindowHandle, SimplifiedObjectModel3D, [], \
                           Pose, [], [], [], [], [], Pose)
</pre>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">simplify_object_model_3d</span><span data-if="c" style="display:none">simplify_object_model_3d</span><span data-if="cpp" style="display:none">SimplifyObjectModel3d</span><span data-if="com" style="display:none">SimplifyObjectModel3d</span><span data-if="dotnet" style="display:none">SimplifyObjectModel3d</span><span data-if="python" style="display:none">simplify_object_model_3d</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameters are
correct. 如有必要，将引发异常。</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="prepare_object_model_3d.html"><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></a></code>, 
<code><a href="read_object_model_3d.html"><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></a></code>, 
<code><a href="triangulate_object_model_3d.html"><span data-if="hdevelop" style="display:inline">triangulate_object_model_3d</span><span data-if="c" style="display:none">triangulate_object_model_3d</span><span data-if="cpp" style="display:none">TriangulateObjectModel3d</span><span data-if="com" style="display:none">TriangulateObjectModel3d</span><span data-if="dotnet" style="display:none">TriangulateObjectModel3d</span><span data-if="python" style="display:none">triangulate_object_model_3d</span></a></code>, 
<code><a href="xyz_to_object_model_3d.html"><span data-if="hdevelop" style="display:inline">xyz_to_object_model_3d</span><span data-if="c" style="display:none">xyz_to_object_model_3d</span><span data-if="cpp" style="display:none">XyzToObjectModel3d</span><span data-if="com" style="display:none">XyzToObjectModel3d</span><span data-if="dotnet" style="display:none">XyzToObjectModel3d</span><span data-if="python" style="display:none">xyz_to_object_model_3d</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="disp_object_model_3d.html"><span data-if="hdevelop" style="display:inline">disp_object_model_3d</span><span data-if="c" style="display:none">disp_object_model_3d</span><span data-if="cpp" style="display:none">DispObjectModel3d</span><span data-if="com" style="display:none">DispObjectModel3d</span><span data-if="dotnet" style="display:none">DispObjectModel3d</span><span data-if="python" style="display:none">disp_object_model_3d</span></a></code>, 
<code><a href="smallest_bounding_box_object_model_3d.html"><span data-if="hdevelop" style="display:inline">smallest_bounding_box_object_model_3d</span><span data-if="c" style="display:none">smallest_bounding_box_object_model_3d</span><span data-if="cpp" style="display:none">SmallestBoundingBoxObjectModel3d</span><span data-if="com" style="display:none">SmallestBoundingBoxObjectModel3d</span><span data-if="dotnet" style="display:none">SmallestBoundingBoxObjectModel3d</span><span data-if="python" style="display:none">smallest_bounding_box_object_model_3d</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="sample_object_model_3d.html"><span data-if="hdevelop" style="display:inline">sample_object_model_3d</span><span data-if="c" style="display:none">sample_object_model_3d</span><span data-if="cpp" style="display:none">SampleObjectModel3d</span><span data-if="com" style="display:none">SampleObjectModel3d</span><span data-if="dotnet" style="display:none">SampleObjectModel3d</span><span data-if="python" style="display:none">sample_object_model_3d</span></a></code>, 
<code><a href="smooth_object_model_3d.html"><span data-if="hdevelop" style="display:inline">smooth_object_model_3d</span><span data-if="c" style="display:none">smooth_object_model_3d</span><span data-if="cpp" style="display:none">SmoothObjectModel3d</span><span data-if="com" style="display:none">SmoothObjectModel3d</span><span data-if="dotnet" style="display:none">SmoothObjectModel3d</span><span data-if="python" style="display:none">smooth_object_model_3d</span></a></code>
</p>
<h2 id="sec_references">References</h2>
<p>

Michael Garland, Paul S. Heckbert: Surface Simplification Using Quadric
Error Metrics, Proceedings of the 24th Annual Conference on Computer
Graphics and Interactive Techniques (SIGGRAPH '97), 209-216, ACM Press,
1997
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
